/*
 * Query URL TYPE SERVER(quts)配置读取
 *
 * quts工程中相关的配置读取都在这里面
 */
#include "stdafx.h"
#include "config.h"
#include "../lib/lib.h"

#define INI_PATH		"/etc/ufw/ufw_config"
/*
 * 初始配置文件
 */
void ini_init(void)
{
}

/*
 * 读取监听端口号
 */
uint16_t ini_get_listen_port(void)
{
	return ini_get_int("server", "port", 2053, INI_PATH);
}

/*
 * 获取密码
 */
const char* ini_get_des_key(void)
{
	static char		key[9]	= {0};

	if(0 != key[0])
	{
		return key;
	}

	ini_get_string("encrypt", "des_key", "quts2053", key, 8, INI_PATH);  
	return key;
}

/*
 * 获取数据库的主机名
 */
char*			ini_get_mysql_host(char* phost, size_t len)
{
	ini_get_string("mysql", "host", "localhost", phost, len, INI_PATH);
	return phost;
}

/*
 * 获取数据库用户名
 */
char*			ini_get_mysql_user(char* puser, size_t len)
{
	ini_get_string("mysql", "user", "root", puser, len, INI_PATH);
	return puser;
}

/*
 * 获取数据库密码
 */
char*			ini_get_mysql_pwd(char* ppwd, size_t len)
{
	ini_get_string("mysql", "passwd", "123", ppwd, len, INI_PATH);
	return ppwd;
}

/*
 * 获取数据库名
 */
char*			ini_get_mysql_database(char* pdb, size_t len)
{
	ini_get_string("mysql", "database",  "urltype", pdb, len, INI_PATH);
	return pdb;
}

/*
 * 获取网址内型的阻止原因
 * 0 表示不阻止, 1 表示系统默认, 2 表示用户自定义
 */
int				ini_get_type_reason(int type)
{
	static int	reason[128]		= {0};
	static bool reason_init		= false;
	int			i;

	if(type < 0 || type > 127)
	{
		return 0;
	}
	if( false == reason_init )
	{
		reason_init = true;
		for(i = 0; i < 128; i++)
		{
			char	no[16]		= {0};

			sprintf(no, "%d", i);
			reason[i] = ini_get_int("url_reason", no, 0, INI_PATH);
		}
	}

	return reason[type];
}
/*
 * 获取监控的网址编号
 */
int ini_get_ethout(void)
{
	return ini_get_int("ufs", "ethout", 2, INI_PATH);
}
